home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
031-040
/
amok38
/
hotprog
/
hotprogz.zoo
/
HotProg
/
HotProg1.0.DOK
< prev
next >
Wrap
Text File
|
1990-03-14
|
13KB
|
332 lines
HotProg1.0 .dok
HotProg ist ein PopUpMenu, das Sie mit einem von ihnen zu definierenden
Hotkey jederzeit auf einem x-beliebigen Screen aufrufen können.
WICHTIG !!!!!
Bevor Sie diese Programm starten müßen Sie sich zuerst eine HotProg.config
Datei erstellen und entweder in das Direktory in dem HotProg selber liegt
oder in das Direktory SYS:s (SYS: damit ist ihre BootDisk o.-Partition
gemeint) kopieren (Wenn Sie HotProg vom CLI starten können Sie die .config
auch sonstwohin legen, müßen dann aber den Pfad als Parameter übergeben !.
z.B: "run df0:hotprog/hotprog df9:xyz/hotprog.config" ).
Siehe auch die Beispiel .configs in diesem Direktory und in diesem .dok.
HotProg.config Syntax
@Groß- und Kleinschreibung sollte man zwar beherrschen, sind aber in der
@hotprog.config egal
@Sie können beliebige Kommentare in ihre .config einfügen
@Eine KommentarZeile beginnt immer mit einem Klammeraffen
%mit einem ProzentZeichen deklarieren Sie eine Zeile, die in der
%StartUpMessage ausgeben wird
%wenn Sie keine StartUpMessage definiert haben erscheint die Meldung
%HotProg gestartet
DEFINITIONEN
a)TRENNZEICHEN:
§der Paragraf leitet eine Definition ein.
zur Zeit werden folgende Definitionen unterstützt :
Trennung=x-beliebiges Zeichen
Dieses Zeichen darf aber nicht in einer MenuZeile erscheinen, somit ist es
möglich auch die skurilsten Pfad- und ProgrammBezeichnungen zu verwenden ohne
den Parser zu verwirren.
z.B:
§TRENNUNG=,
oder
§treNNung=|
Dieses Zeichen wird nun benutzt um in den folgenden MenuDefinitionen die
Einträge voneinander zu trennen
WICHTIG !!!
die Trennzeichen Definition muß vor der ersten Menu Definition stehen !
b)HOTKEY
1.)Sie können jede Taste als HotKey definieren indem Sie den entsprechenden
dezimalen RawCode der Taste einsetzen, der mit einem Doppelkreuz (#)
eingeleitet wird.
2.)Für einige SonderTasten existieren auch BuchstabenKürzel :
Kürzel - Taste
ESC - Escape
Control - CTRL
LALT - linke AltTaste
RALT - rechte AltTaste
LCom - linke AMIGATaste
RCom - rechte AMIGATaste
LShift - linke ShiftTaste
RShift - rechte ShiftTaste
HELP - HelpTaste
SPACE - LeerTaste
F1 ..F9 - die entsprechenden FunktionsTasten
F0 - FunktionsTaste F10
am Schluß finden Sie außerdem ein Tabelle mit RawCodes, für den Fall, daß
Sie nur die Original Commodernde Literatur besitzen sollten. Nachträglich
mein herzlichstes Beileid.
Beispiele
§hotkey=#69 (* ESCAPE *)
§hotKey=ESc (* dto *)
§HOTKEY=F4 (* FunktionsTaste *)
c)QUALIFIER
Diese Definition ist Optional, wird kein Qualifier angeben popt das Menu
beim alleinigen betätigen des HOTKEYS.
Folgende Qualifier werden unterstützt :
CAPS - Caps-Lock
Control - CTRL
LALT - linke AltTaste
RALT - rechte AltTaste
LCom - linke AMIGATaste
RCom - rechte AMIGATaste
LShift - linke ShiftTaste
RShift - rechte ShiftTaste
Left - linker MausButton
Right - rechter MausButton
Rel - relative MausBewegung
Beispiele :
§QuaLiFieR=Left
§qualifier=con
§QUALIFIER=ra
Es genügt die ersten zwei Buchstaben einzugeben, da der Rest nicht relevant ist
und ignoriert wird.
Jetzt sollten die Definitionen für ihr Menü folgen.
Da bis jetzt noch keine UnterMenüs unterstützt werden hängt die Anzahl der
MenüEinträge von ihrer eingestellten ScreenHöhe ab. z.B:
normaler WBenchScreen 256 Zeilen ermöglicht (256-14)/9 = 26 Einträge
OverScan Screen 284 Zeilen ermöglicht (284-14)/9 = 30 Einträge
InterLace 512 Zeilen ermöglicht (512-14)/9 = 55 Einträge
InterLace OverScan 568 Zeilen ermöglicht (512-14)/9 = 63 Einträge
Werden zuviele MenüEinträge generiert, so werden diese ignoriert. Es besteht
jedoch die Möglichkeit ,sagen wir mal 45 Einträge zu erstellen, wovon dann
auf dem WBenchScreen 26 Menüs erscheinen aber auf einem anderen Screen, den
Sie im Interlace Modus fahren können Sie alle Menüs benützen.
Im Moment werden alle Modi mit der gleichen FontHöhe bedient. Da ich
normalerweise im Interlace-Modus nicht arbeite, kann ich es nicht abschätzen,
ob es nicht angebracht wäre hier einen etwas höheren Font zu benützen. Gebt
halt einfach mal Bescheid !
MenüDefinition SYNTAX
***************************************************************************
MenüName[Trennung]Vollständiger ProgrammName inkl. Pfad[Trennung]TRUE|FALSE
***************************************************************************
MenüName und Pfad nicht länger als 80 Zeichen, das müßte eigentlich reichen.
TRUE oder False damit können sie bestimmen ob auf den WBenchScreen umgeschaltet
werden soll oder nicht.
Beispiele :
(Annahme :als TrennZeichen wurde das Komma definiert)
MUCHMORE,sys:c/muchmore,false
MUCHMORE,df1:c/muchmore,true
MUCHMORE,Amok45:c/muchmore,false
DIR ,c:dir >ram:tmp df0:,False
Dir ,c:dir >CON://200/100/AusgabeFenster,True
DIR ,c:dir >PRT:,false
Die Ausgabe kann also auch problemlos umgelenkt werden. Haben Sie vor dem
starten von HotProg noch ein CLI oder eine Shell geöffnet ,so erfolgt die
Ausgabe, die ein normaler CLI-Befehl macht automatisch auf dieser Console.
Beachten Sie Bitte, daß der Pfadname ihres zu startenden Programmes keine
Spaces enthalten sollte, da es sonst nicht gefunden wird.
NichtExistente Programme werden nicht aufgerufen !!!
Es folgt nun eine Zusammenfassung einer gültigen hotprog.config
@******************************************************************************
@HOTPROG.CONFIG
@Kommentare beginnen immer mit einem KlammerAffen !!!
@SYNTAX MenuTitel,Pfad,WBenchToFront(TRUE|FALSE), z.B.: Text!c:muchmore!FALSE!
%HOTKEY = ESC
%QUALIFIER = Linke ALT
§TRENNUNG=,
§HOTKEY=ESC
§QUALIFIER=LALT
dirmaster ,DH0:utilities/dirmaster,FALSE,
Calculator ,DH0:utilities/Calc3.0,TRUE,
Koordinaten ,DH0:tools/surveyor,FALSE,
XOPER ,DH0:tools/xoper,TRUE,
AntiFlicker ,DH0:tools/AntiFlicker,TRUE,
AZ ,DH0:text/AZ,TRUE,
HexEdit ,DH0:utilities/HexEdit,TRUE,
Kalender ,DH0:utilities/Kalender,TRUE,
PowerPacker ,DH0:utilities/PowerPacker,TRUE,
INTUITION ,DH0:utilities/SB,TRUE,
WorkShop ,DH0:utilities/Workshop,TRUE,
XCopy ,DH0:tools/Xcopy,TRUE,
Palette ,DH0:tools/palette,FALSE,
Prefs ,DH0:system/pprefs,TRUE,
PopInfo ,DH0:tools/popinfo,TRUE,
KEYBOARD ,DH0:tools/Keytoy2000,TRUE,
QuarterBack ,DH0:tools/Quarterback,TRUE,
setKEY ,DH0:tools/setkey,TRUE,
ScreenShift ,DH0:tools/ss,TRUE,
ASCIItabelle,DH0:c/ascTiny,FALSE
directory ,c:dir >ram:tmp,FALSE
DPAINT ,DPaint:dpaint/dpaint,FALSE
@******************************************************************************
START
Wenn Sie mir bis hierher gefolgt sind dürfen sie HotProg starten.
DoppelKlick oder Aufruf vom Cli ,beides führt zum Erfolg.
Schließen Sie das StartupMsg-Fenster durch Klick auf das ClosingGadget ,das
automatisch unter ihrem Mauszeiger erscheint.
Wenn Sie nun den angegebenen Qualifier gedrückt halten und den HotKey
betätigen erscheint das Menü mittig unter ihrer Maus. Das Augenblicklich
ausgewählte Programm erscheint dann farblich unterlegt. Bewegen Sie den
Mauszeiger ,dann können Sie jedes andere Programm auswählen. Start des
Programmes erfolgt durch MausKlick. Sobald ihr Pointer sich außerhalb des
Menüs befindet oder das Fenster deaktiviert wird verschwindet dasselbe.
Sie können also problemlos mit oder ohne Dmouse arbeiten !!
Die Farbliche Darstellung des Menüs ist abhängig von den Farben des Screens
auf dem es aufgerufen wird. Aber keine Bange es werden automatisch die Farben
mit dem größten Kontrast benützt, ausgenommen ist lediglich die Hintergrund
Farbe 0 des Screens.
Wechsel des Menüs
Drücken des rechten MausButtons öffnet den ARP-FileRequester.
Wählen sie dann das gewünschte neue Menü !
Achtung !!
Da einige Programme ,die einen eigenen Screen eröffnen fälschlicherweise
davon ausgehen das sie durch kein anderes Fenster überlagert werden könnten,
wird der überlagerte Bildinhalt zerstört. Manchmal läßt sich aber ein Refresh
künstlich erzeugen oder umgehen.
DPAINTIII: gehen Sie mit J auf das evtl. leere 2.Bild dann ist kein Refresh
nötig oder Sie rufen Bildschirmformat auf und bestätigen mit OK
NEWIO: vermeiden Sie hier den Aufruf des HotProgMenüs, da die Herren
Programmierer von Multitasking {"Multitas-peasant" not King} eh
keine Ahnung hatten (beachten sie hier auch die MenuProgrammierung
die Sie zum Spastiker werden läßt).
DME: no problems
CygnusED no problems
HexEdit hier verkrümeln sich die Menüs
WorkShop no problems
PageStream no problems
Ansonsten hilft einfach mal ausprobieren !
Beenden können Sie HotProg wie gehabt durch das Schließ-Gadget links oben,
oder durch erneuten Aufruf von HotProg, was aber nicht sehr elegant ist, da
Sie dann evtl. die Kontrolle darüber verlieren könnten ob HotProg aktiv ist
oder nicht.
BUGS
1.Arbeitet nicht mit Newio zusammen siehe oben (liegt an Newio)
2.Solange das Menü nicht deaktiviert ist können Sie ständig Programme aufrufen.
Wenn Sie nun den MausButton mit dem Feuerknopf ihres Joysticks verwechseln
sollten kann es zu Problemen Kommen (GURU).
Abhilfe : a)CygnusED Screen schließen und den Gompf aufrufen
b)Ignorieren und den Requester verkleinern und in irgendeine
Ecke verbannen.HotProg kann weiter benützt werden.
c)die nächste Version von HotProg abwarten.
3.Jeder Aufruf eines Programms gibt nach beenden desselben den Speicher nicht
vollständig zurück. (40 Byte).
Abhilfe : a)Ab 1MByte Speicher unproblematisch
b)wie 2c)
4.Unknown; Hier bin ich auf ihre Rückmeldung angewiesen
FUTURESOUNDS
UnterMenüs
ResetFest (Ich weiß nicht ob dies in Modula überhaupt realisiert werden kann)
Auf Wunsch einzubauende Funktionen wie z.B:
killWindow
killScreen
Time
Palette Tool
ScreenShift
WindowInfo
ScreenInfo
NewCLI usw..
Da sich dies am Besten über externe Funktionen realisieren läßt, meine Bitte
an alle Programmierer : versucht eure Utilities so zu Programmieren, daß Sie
auf allen Screens und in allen Modis lauffähig sind. Damit wäre zum Beispiel
eine Entlastung des WorkBenchScreen möglich, indem man einen 2.Screen eröffnet
und hier zusätzliche Programme und Windows ablegen könnte. Wie schnell ist
selbst ein Overscan Screen bei Festplattenbesitzern und SpeicherKönigen voll,
das bedeutet dann Fenster auf, Fenster zu, Fenster verschieben dies kostet oft
viel Zeit im Vergleich zur Umschaltung auf einen zweiten "WorkBenchScreen".
Das einzige Programm das ich kenne und das diese Philosophie unterstützt ist
das Palette Tool. Mit Hilfe dieses und meines Programmes können Sie wunder-
schön die Farben eines jeden Screens einstellen.
Danksagungen
Dieses Programm wäre ohne Amoks nicht erstanden, deshalb zuerst meinen Dank
an alle Amokianer und besonders an diejenigen deren Module ich importiert habe.
HilfeRuf
Wer macht endlich mal den König zum Untertan (REXX) ???
********************************************************************************
RAWCODE Tabelle (* Dezimal für HotKeys *)
ESC := 69; `~ := 0; TAB := 66; CTRL:= 99; LSHIFT := 96; LALT := 100;
F1 := 80; 1! := 1; qQ := 16; CAPS:= 98; <> := 48; LAMIGA := 102;
F2 := 81; 2" := 2; wW := 17; aA := 32; yY := 49;
F3 := 82; 3§ := 3; eE := 18; sS := 33; xX := 50;
F4 := 83; 4$ := 4; rR := 19; dD := 34; cC := 51;
F5 := 84; 5% := 5; tT := 20; fF := 35; vV := 52;
F6 := 85; 6& := 6; zZ := 21; gG := 36; bB := 53; SPACE := 64;
F7 := 86; 7/ := 7; uU := 22; hH := 37; nN := 54;
F8 := 87; 8( := 8; iI := 23; jJ := 38; mM := 55;
F9 := 88; 9) := 9; oO := 24; kK := 39; ,, := 56;
F10 := 89; 0= := 10; pP := 25; lL := 40; .. := 57;
ß? := 11; üÜ := 26; öÖ := 41; -_ := 58; RAMIGA := 103;
'` := 12; +* := 27; äÄ := 42; RSHIFT := 97; RALT := 101;
\| := 13; #^ := 43;
BS := 65;
RETURN := 68;
DEL := 70;
HELP:= 95; CursorUP := 76;
CursorDOWN := 77;
CursorLEFT := 79;
CursorRIGHT:= 78;
[{ := ?? 7 := 61; 4 := 45; 1 := 29; 0 := 15;
]} := ?? 8 := 62; 5 := 46; 2 := 30;
/ := ?? 9 := 63; 6 := 47; 3 := 31; . := 60;
* := ?? - := 74; + := ??;
ENTER := 67;